package com.lintesis.lintesismodel.protocolo;

import java.util.Date;
import java.util.List;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;

import com.lintesis.lintesismodel.common.Type;
import com.lintesis.lintesismodel.common.hibernate.BussinessObject;
import com.lintesis.lintesismodel.personas.Paciente;
import com.lintesis.lintesismodel.personas.PesoPaciente;
import com.lintesis.lintesismodel.protocolo.Dosificacion;

@Entity
public class Historial extends BussinessObject{

	@javax.persistence.SequenceGenerator( name="SEQ_HISTORIAL", sequenceName="SEQ_HISTORIAL", allocationSize=1)
	@Id
	@GeneratedValue(strategy=GenerationType.SEQUENCE, generator="SEQ_HISTORIAL")
	
	private Integer historialId;
	private Date fechaApertura;
	private Date fechaCierre;
	private String motivoBaja;
	@Column(unique=true)
	private Integer numero;
	@ManyToOne
	private Paciente paciente;
	@ManyToOne
	private Type tipoPaciente;
	@OneToMany
	private List<Dosificacion> dosificacion;
	@OneToMany
	private List<PesoPaciente> pesoPaciente;
	
	
	public Integer getHistorialId() {
		return historialId;
	}

	public void setHistorialId(Integer historialId) {
		this.historialId = historialId;
	}

	public Date getFechaApertura() {
		return fechaApertura;
	}

	public void setFechaApertura(Date fechaApertura) {
		this.fechaApertura = fechaApertura;
	}

	public Date getFechaCierre() {
		return fechaCierre;
	}

	public void setFechaCierre(Date fechaCierre) {
		this.fechaCierre = fechaCierre;
	}

	public String getMotivoBaja() {
		return motivoBaja;
	}

	public void setMotivoBaja(String motivoBaja) {
		this.motivoBaja = motivoBaja;
	}

	public Integer getNumero() {
		return numero;
	}

	public void setNumero(Integer numero) {
		this.numero = numero;
	}

	public Paciente getPaciente() {
		return paciente;
	}

	public void setPaciente(Paciente paciente) {
		this.paciente = paciente;
	}

	public Type getTipoPaciente() {
		return tipoPaciente;
	}

	public void setTipoPaciente(Type tipoPaciente) {
		this.tipoPaciente = tipoPaciente;
	}

	public List<Dosificacion> getDosificacion() {
		return dosificacion;
	}

	public void setDosificacion(List<Dosificacion> dosificacion) {
		this.dosificacion = dosificacion;
	}

	public List<PesoPaciente> getPesoPaciente() {
		return pesoPaciente;
	}

	public void setPesoPaciente(List<PesoPaciente> listaPesoPaciente) {
		this.pesoPaciente = listaPesoPaciente;
	}

	@Override
	public void doAfterDelete() {
		// TODO Auto-generated method stub
	}

	@Override
	public void doAfterSave() {
		// TODO Auto-generated method stub
	}

	@Override
	public void doBeforeDelete() {
		// TODO Auto-generated method stub
	}

	@Override
	public void doBeforeSave() {
		// TODO Auto-generated method stub
	}

	@Override
	public Integer getId() {
		return historialId;
	}

	@Override
	public String getObjectDescription() {
		return null;
	}
}
